package com.lt.schoolchat.service;

import com.lt.schoolchat.model.vo.UserVO;
import org.bson.types.ObjectId;

import java.util.List;

/**
 * @description:
 * @author: ~Teng~
 * @date: 2023/5/18 20:32
 */
public interface CommentService {
    /**
     * 点赞视频
     */
    Integer like(ObjectId id, Long userId);

    /**
     * 取消点赞视频
     */
    Integer unlike(ObjectId id, Long userId);

    /**
     * 删除点赞记录
     */
    void removeCommentByVideoId(ObjectId id);

    /**
     * 判断用户是否点赞过该视频
     */
    boolean isLike(Long userId, ObjectId videoId);

    /**
     * 用户关注视频作者
     *
     * @param userId      关注的用户id
     * @param loginUserId 登录用户id
     */
    void useFocus(Long userId, Long loginUserId);

    /**
     * 用户取消关注视频作者
     *
     * @param userId      关注的用户id
     * @param loginUserId 登录用户id
     */
    void useUnFocus(Long userId, Long loginUserId);

    /**
     * 查询所有关注我的所有用户
     *
     * @param loginUserId 当前登录用户id
     */
    List<UserVO> findFocusMeUser(Long loginUserId);
}
